home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / smaltalk / manchest.lha / MANCHESTER / manchester / 2.2 / zoom.st < prev   
Text File  |  1993-07-24  |  3KB  |  91 lines

  1. "    NAME        zoom
  2.     AUTHOR        ikp@cs.man.ac.uk
  3.     FUNCTION menu funcs for expanding window to screen size 
  4.     ST-VERSIONS    2.2
  5.     PREREQUISITES     
  6.     CONFLICTS    
  7.     DISTRIBUTION      world
  8.     VERSION        1.1
  9.     DATE    22 Jan 1989
  10. SUMMARY    zoom
  11.     adds two options to the default StandardSystemController blue
  12.    button menu.  `Zoom' expands the window to fill the screen (leaving
  13.    space on the left for the scrollbar(s)), and `unzoom' returns the
  14.    window to its original size.(2.2). IKP
  15. "!
  16. View subclass: #StandardSystemView
  17.     instanceVariableNames: 'labelFrame labelText isLabelComplemented savedSubViews minimumSize maximumSize iconView iconText lastFrame cacheRefresh oldViewport'
  18.     classVariableNames: 'FillInHoles '
  19.     poolDictionaries: ''
  20.     category: 'Interface-Support'!
  21.  
  22. !StandardSystemController methodsFor: 'menu messages'!
  23.  
  24. unzoom
  25.     "collapse to size before zoom"
  26.  
  27.     view oldViewport == nil "this view has not been zoomed"
  28.         ifFalse: [
  29.             view erase.
  30.             view window: view window viewport: view oldViewport.
  31.             view oldViewport: nil.
  32.             view displayEmphasized]!
  33.  
  34. zoom
  35.     "expand to full screen"
  36.  
  37.     view oldViewport == nil "this view has not been zoomed"
  38.         ifTrue: [
  39.             view erase.
  40.             view oldViewport: view viewport.
  41.             view window: view window viewport: (Rectangle origin: Display boundingBox origin + (31@0) corner: Display boundingBox corner).
  42.             view displayEmphasized]! !
  43.  
  44. !StandardSystemView methodsFor: 'initialize-release'!
  45.  
  46. initialize
  47.     super initialize.
  48.     self insideColor: Form white.
  49.     labelFrame _ Quadrangle new.
  50.     labelFrame region: (Rectangle origin: 0 @ 0 extent: 50 @ 20).
  51.     labelFrame insideColor: Form white.
  52.     labelFrame
  53.         borderWidthLeft: 2
  54.         right: 2
  55.         top: 2
  56.         bottom: 0.
  57.     self label: nil.
  58.     isLabelComplemented _ false.
  59.     minimumSize _ 50 @ 50.
  60.     maximumSize _ Display extent.
  61.     oldViewport _ nil.
  62.     cacheRefresh _ true! !
  63.  
  64. !StandardSystemView methodsFor: 'viewport access'!
  65.  
  66. oldViewport
  67.  
  68.     ^oldViewport!
  69.  
  70. oldViewport: viewPort
  71.  
  72.     ^oldViewport _ viewPort! !
  73.  
  74. !StandardSystemController class methodsFor: 'class initialization'!
  75.  
  76. initialize
  77.     "Initialize the class variables."
  78.  
  79.     "StandardSystemController initialize.
  80.     StandardSystemController allInstances do: [:sc | sc initializeBlueButtonMenu]"
  81.  
  82.     ScheduledBlueButtonMenu _ PopUpMenu labels: 'new label\under\move\frame\collapse\zoom\unzoom\close' withCRs lines: #(1 5 7 ).
  83.     ScheduledBlueButtonMessages _ #(newLabel under move frame collapse zoom unzoom close ).
  84.     MenuWhenCollapsed _ ActionMenu
  85.                 labels: 'new label\under\move\expand\close' withCRs
  86.                 lines: #(1 4 )
  87.                 selectors: #(newLabel under move expand close )! !
  88.  
  89. StandardSystemController initialize.
  90.     StandardSystemController allInstances do: [:sc | sc initializeBlueButtonMenu]!
  91.